<script setup lang="ts">
import { ref, onMounted } from 'vue'
import TestTsx from './TestTsx.vue'
import Foo from './foo'

const props = defineProps<{msg: string}>()

const count = ref(0)

// 告诉ref Dom元素类型 HTMLHeadElement
const title = ref<HTMLHeadElement | null>(null)

onMounted(() => {
  console.log(title.value)
})
</script>

<template>
  <TestTsx />
  <Foo msg="str" />

  <h1 ref="title">
    {{ props.msg }}
  </h1>

  <p>
    Recommended IDE setup:
    <a
      href="https://code.visualstudio.com/"
      target="_blank"
    >VS Code</a>
    +
    <a
      href="https://github.com/johnsoncodehk/volar"
      target="_blank"
    >Volar</a>
  </p>

  <p>See <code>README.md</code> for more information.</p>

  <p>
    <a
      href="https://vitejs.dev/guide/features.html"
      target="_blank"
    >
      Vite Docs
    </a>
    |
    <a
      href="https://v3.vuejs.org/"
      target="_blank"
    >Vue 3 Docs</a>
  </p>

  <button
    type="button"
    @click="count++"
  >
    count is: {{ count }}
  </button>
  <p>
    Edit
    <code>components/HelloWorld.vue</code> to test hot module replacement.
  </p>
</template>

<style lang="scss" scoped>
h1 {
  color: $color;
}

a {
  color: #42b983;
}

label {
  margin: 0 0.5em;
  font-weight: bold;
}

code {
  background-color: #eee;
  padding: 2px 4px;
  border-radius: 4px;
  color: #304455;
}
</style>
